#ifndef PHAL_UART_H_
#define PHAL_UART_H_


typedef enum {
	phal_uart0_ID = 0,
	phal_uart1_ID = 1,
	phal_uart2_ID = 2,
	phal_uart3_ID = 3
} phal_uart_Id;


#define phal_uart_DATA_TRANSMITTED_HANDLER(functionName, args) \
	void functionName(void *args)

#define phal_uart_DATA_RECEIVED_HANDLER(functionName, args) \
	void functionName(void *args)

#define phal_uart_RECEIVING_DATA_ERROR_HANDLER(functionName, args) \
	void functionName(void *args)


extern void phal_uart_init(void);
extern void phal_uart_sendByte(phal_uart_Id uartId, U8 byte);
extern U8 phal_uart_receiveByte(phal_uart_Id uartId);

#endif /*PHAL_UART_H_*/
